\documentclass[11pt,twocolumn]{article}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{color}
\usepackage{epsfig}
\usepackage{float}
\usepackage{algorithm}
\usepackage[noend]{algorithmic} 
\usepackage{float} 
\usepackage{multirow}
\usepackage{hyperref}
\usepackage{array}

\setlength\topmargin{-0.5in}
\setlength\headsep{0in}
\setlength\textheight{9.5in}
\definecolor{gray}{rgb}{0.9,0.9,0.9}
\definecolor{darkgray}{rgb}{0.3,0.3,0.3}
\newcommand{\todo}[1]{\textcolor{red}{\textbf{#1}}}
\newcommand{\tbf}{\textbf}
\newcommand{\tit}{\textit}
\newcommand{\ds}{\displaystyle}
\newcommand{\argmax}{\operatornamewithlimits{argmax}}
\newcommand{\changefont}[2]{\fontfamily{#1}#2\selectfont}
\newcommand{\fade}[1]{\textcolor{grey}{\textbf{#1}}}
\newcommand{\mycomment}[1]{\changefont{pcr}{\scriptsize}\textcolor{darkgray}{\emph{#1}}}

%GOOD FOR POSITIONING THE IMAGES AND THE TABLES WELL?
\renewcommand\floatpagefraction{.9}
\renewcommand\topfraction{.9}
\renewcommand\bottomfraction{.9}
\renewcommand\textfraction{.1}   
\setcounter{totalnumber}{50}
\setcounter{topnumber}{50}
\setcounter{bottomnumber}{50}

%_______________________________________________________________________________________________________________________
\title{\tbf{Artificial Life applied to}\\\tbf{Strategic City Simulation}}
\author{J. van Turnhout (0312649) jturnhou@science.uva.nl, 
	 \\ N. Raiman (0336696) nraiman@science.uva.nl, 
	 \\ S. L. Pintea (6109969) s.l.pintea@student.uva.nl}

\begin{document}
	\changefont{ppl}{\normalsize}
	\maketitle
	\begin{abstract}
	Throughout this paper are indicated the underlying elements of the game \href{http://www.rule184.com/}{\emph{Rule184}}. The game is a simulation of a city-building game and it is meant to be both an enjoyable time-passing activity and a serious game. The backbone of the game is the \emph{artificial life} component that makes it able to simulate the city life in a manner that resembles some real-life behavior.    
	\end{abstract}
%INTRODUCTION SECTION_____________________________________________________________________________________________________________
	\section{Introduction}
		Artificial Life (\emph{Alife}) is a field in computer science which aims to study various systems and their evolution through 
		simulations. A main characteristic of \emph{Alife} is that its behavior can get complex rapidly when constrained by a few rules only. This 
		characteristic can be used within game environments in order to get unpredictable behaviors -- something preferred by players
		in general. In this project we propose a game which is based on the \emph{cellular automaton} (\emph{CA}) concept and in which players compete against each other using various strategies in a city environment. In order to simulate citizens moving within the perimeters of the city the \emph{CA} was used. The movements of the citizens are based on simple rules with a defined quality of life as the main focus. The citizens are used in order to 
		model the economy within the city, and can be manipulated by players when using the right factors on the right position in the 
		city environment. The players will have to compete for the highest net-worth in order to win the game and lower the net-worths of the other players. This can be done by either destroying opponent properties or by creating unbalanced regions around those properties which will affect the \emph{Alife} behavior. 

		In section ~\ref{sec:Background} we discuss some background information. In section 
		~\ref{sec:Game} the rules of the game are explained and some details about the \emph{Alife} movement and
		other updates are described in ~\ref{sec:Implementation}. In section ~\ref{sec:Results} results from simulations are discussed and we end with the conclusion and future work.
%BACKGROUND SECTION_____________________________________________________________________________________________________________
	\section{Background}\label{sec:Background}
        \subsection{Cellular Automaton}
        A \emph{Cellular Automaton} (\emph{CA}) is a system for modeling evolution of spatial interaction. In the 1940s \emph{John von Neumann} and \emph{Stanislaw Ulam} worked together on the first \emph{Cellular Automaton}. In a \emph{CA} points on a \textbf{N}-dimensional grid are called cells and those cells have a discrete state (usually \lq on\rq \slash \lq off\rq\@ or \lq dead\rq \slash \lq alive\rq). Cells can change their state at each time-step depending on their own state and the states of their neighbors. Based on a few very simples rules over time \emph{CA}s can result in complex nature like patterns. 

        \emph{Stephan Wolfram} defined four classes \cite{Swarm} in which \emph{CA} can be divided according to their behavior.
        \begin{enumerate}
            \item Evolution leads to homogeneous state
            \item Evolution leads to a set of simple, stable or periodic structures
            \item Evolution leads to chaotic patterns
            \item Evolution leads to structures that interact in a complex way
        \end{enumerate}
        The patterns produced by the fourth class have a more natural feeling to them. \emph{``Their unending complexity is almost comprehensible, but never predictable''} (\emph{Christopher Langton}, 1991). This property is ideal for simulating citizens in a city for a game.

        One of the best known examples of \emph{CA} is \emph{Conway's Game of Life}. This game requires only an initial state. No further interaction is needed once it is started. The cells in \emph{Conway's Game of Life} evolve according to only four simple rules:
        \begin{itemize}
            \item Under-population: A living cell with less than two living neighbors dies
            \item Overcrowding: A living cell with more than three living neighbors dies
            \item Reproduction: A dead cell with exactly three living neighbors becomes a living cell
            \item A living cell with two or three living neighbors stays alive
        \end{itemize}
		For our simulation we use modified rules to control the death\slash birth rate in the automaton.
%BACKGROUND -- ALIFE SUBSECTION_____________________________________________________________________________________________________________
        \subsection{Alife}
        \emph{Artificial life} (\emph{Alife}) is a field of study where biological phenomena are modeled and recreated. Human-made systems evolve lifelike behavior in order to adapt to their surrounding and achieve predefined goals. Those systems can be considered living by some set of criteria we, human beings, have defined. Some of the \lq creatures\rq\@ that are a result of the evolution process do not even look a bit like living organisms on Earth, but are still classified as living by humans because they meet the criteria of a living organisms.

        \emph{Alife} creatures are able to learn, reproduce and evolve in an adaptive way.
        
        Wolfram\rq s four classes of \emph{CA}s have the ability to reproduce themselves (increase the number of individuals in an area) and to evolve complex nature-like behaviors. The roots of \emph{Alife} can be found in the \emph{Cellular Automaton}.    

        The \emph{Cellular Automaton} is an earlier form of the artificial life as we know it nowadays. Instead of using mutation, selection and reproduction (crossover) to generate a behavior that is close to the real-life one, the \emph{CA} works with numbers. The individuals are represented by units in the cells of the automaton. They evolve by moving towards areas more adequate to their needs, they reproduce or die by having the number of individuals in a specific cell increase or decrease according to the \lq living\rq\@ conditions. All these give a more ample view to the process of evolution. If we would like to focus on particular parts of the evolution like physiological changes in the body, then a \emph{genetic algorithm} would be more suitable, but if, on the other hand, we want to focus on the evolution in a more general way and we would like to observe tendencies in the behavior of the mass of population, the \emph{CA} gives a better indication. 
%BACKGROUND -- SWARM INTELLIGENCE SUBSECTION_________________________________________________________________________________________________
        \subsection{Swarm optimization}
        \emph{Swarms} are used to simulate the interaction of relative simple agents in a complex system. By simple communication between the agents, a complex \lq group-intelligence\rq\@ emerges that focuses on the optimum solution for the given problem space.
        
        \emph{Mark Millonas} (\emph{1994}) who develops this kind of swarm models for applications in artificial life, has articulated five basic principles of swarm intelligence:
        \begin{itemize}
            \item The proximity principle: The population should be able to carry out simple space and time computations.
            \item The quality principle: The population should be able to respond to quality factors in the environment.
            \item The principle of diverse responses: The population should not commit its activity along excessively narrow channels.
            \item The principle of stability: The population should not change its mode of behavior every time the environment changes.
            \item The principle of adaptability: The population must be able to change its behavior mode when it is worth the computational price.
        \end{itemize}
        \emph{Swarm Intelligence} is a popular method because, like \emph{CA}s, it is based on some simple rules where the agent interacts with his neighborhood and acts upon it. This means that the control is decentralized and, thus, the swarm does not require complex interaction rules.
%BACKGROUND -- CITY BUILDING SIMULATION GAMES SUBSECTION_____________________________________________________________________________
		\subsection{City building simulation games}
		According to \cite{GameTheory} there are two types of simulation games: one that involves training and whose purpose is to teach the player to control a vehicle, a warplane or a tank and another one that models an entire system in a manner that resembles a natural one and allows the user to interact with that system.

        City building (simulation) games are strategy games where the players are responsible for the growth of the city and the well being of the citizens. In \emph{1982} the first city building game was introduced, \emph{Utopia}. The best known city building game is \emph{SimCity} which was released in \emph{1989} and it was among the first computer games that used simulations in the game context. The main goal in \emph{SimCity} is to maintain satisfaction among the citizens and generate income to fund new buildings that will attract more citizens in order to make your city more valuable. \emph{SimCity} started as a single-player game and it is now also available as a multi-player game where multiple players build their own cities and where different cities can interact with each other. The designers\rq\@ choice to have no particular goal except for growing\slash expanding gives players the freedom to develop their cities as they please, but does not give a big challenge. 

		This project was inspired by similar city simulation games and also by other online games. Unlike them it involves the \emph{Alife} which influences all the \lq economics\rq\@ of the game.
%BACKGROUND -- SERIOUS GAMING SUBSECTION_____________________________________________________________________________
		\subsection{Serious gaming}
        \emph{Serious gaming} is a genre of games that are not built just for having fun playing them, but they also have a \lq serious\rq\@ purpose (i.e.  training, investigating, learning, predicting trends etc). The term \emph{Serious gaming} was introduced by \emph{Clark Abt} in \emph{1970}. Serious games are defined as \emph{''games used for training, advertising, simulation, or education that are designed to run on personal computers or video game consoles''} \cite{SeriousGames}.
		
		The first serious games were board and card games and date from long before the introduction of the term \emph{serious games}. One well known serious game is \textit{Kriegsspiel} (\emph{war-game}) developed in \emph{1812} by lieutenant \emph{Georg Leopold von Reiswitz} and his son \emph{Georg Heinrich Rudolf von Reiswitz} of the Prussian Army. This card game was played on a special designed table with a grid and was meant for training officers in the Prussian army. Nowadays, there are many digital serious games such as: games for children to learn about physics or biology, city planning games, military strategy games, etc.

		\emph{Rule184} is intended to be a serious game while in the same time giving the player the opportunity to have fun and enjoy it. The game could be used to observe trends and tendencies in the (economical) city life in different well known cities of the world such as: Amsterdam, Paris, Berlin, London etc.  
%GAME STRUCTURE SECTION_________________________________________________________________________________________________
	\section{Game structure} \label{sec:Game}
		Our project, called \emph{Rule184} (unrelated to the one-dimensional binary cellular automaton rule), is an online game where multiple players can participate in a city simulation and compete with each other. The goal is to grow the biggest net-worth within a given amount of time. To do so, players will have to buy properties, destroy properties of other participants and affect the behavior of the \emph{Alife}.

        Each player gains an initial amount of money and, over time, they will collect money from the revenue of each building they own. The players can build anywhere between defined borders in the city. The buildings that can be built are divided in four categories: \textit{primary}, \textit{secondary}, \textit{tertiary} and \textit{extra}. Buildings of the \emph{primary} category are basic buildings like: houses, shops, supermarkets and businesses providing living places and work. The \emph{second} category defines necessary buildings but which are sparse in any city environment like: institutions, libraries, hospitals. The \emph{third} category consists of more luxury buildings like: clubs, bars, snackbars which can be encountered in a larger number in any well-developed city. The \emph{extra} category includes the extremely luxurious buildings like:  casinos, coffeeshops and hotels. The revenue of a building is dependent on the category it belongs to, with \emph{primary} generating the least and \emph{extra} generating the most revenue.

		When a player selects a location to buy a building, a random condition is assigned to the building. The buying price of the building is dependent on the worth of the region, the category the building belongs to and the condition of the building. After the building is acquired, upgrades can be bought in order to enhance the property, make it attract more citizens and, thus, increasing the revenue.

        Every virtual day (represents the equivalent of every half an hour) an update function is called on the server which calculates the total revenue for each player and adds it to the total amount of money of that player and updates the swarm. The swarm is updated according to the current state in the city environment as described in the next section.
	
		Given the fact that the revenue of each building is dependent on the condition of the building, the players can destroy each others\rq\@ buildings in order to overcome their opponents. This will determine the condition of the building to decrease with a specific percentage. If a building has a very low condition the person trying to destroy it might be able to completely remove that property from the map. 
  
		Another strategy that can be used in order to compete with the other players is to unbalance the region in which they are \lq building their empire\rq\@. The region\rq s worth is dependent on the number of individuals living in there. People move corresponding to the living conditions that the region offers. A region can be unbalanced by building too many buildings that are part of the same category in it. This will cause those buildings to have a lower income and, over time, citizens will move away and the owner will have a lower net worth.  
%IMPLEMENTATION SECTION_________________________________________________________________________________________________        
	\section{Implementation}\label{sec:Implementation}
		\emph{Rule184} is built on the \emph{CakePHP} framework -- a \emph{CMS} (Content Management System) based on the principle of separating the user interface from the database and from the actual logic of the application and it is constructed using a \emph{MVC} (\emph{Model--View--Controller}) architecture. The game interface was built using \emph{Google Maps API} and consists of a \emph{Google map} of the city the game is played in, a visualization of the swarm (implemented using \emph{ProtoVis}) and some additional pages containing the information of the game. 

		The city is divided in \textbf{10$\times$10} regions and each region maps to \textbf{10$\times$10} cells in the automaton, defining the grid the game is played on as one of \textbf{10,000} cells large. Each cell can inhibit a minimum of \textbf{10} and a maximum of \textbf{20,000} citizens.
		
        In every virtual day in the game the population will move according to the player\rq s interactions on the game map.         
        \begin{algorithm}[!hbtp]
			\caption{Update region worth}
			\label{algo:regionWorthUpdate}
			\begin{algorithmic}[1]
			\changefont{pcr}{\small}
			\medskip
			\REQUIRE{Input variables\\ 
			\changefont{pcr}{\scriptsize}\vspace*{5px}
			$B$ $\leftarrow$ all buildings in a region, $R$\\
            $P$ $\leftarrow$ all primary buildings\\
            $S$ $\leftarrow$ all secondary buildings\\
            $T$ $\leftarrow$ all tertiary buildings\\
            $E$ $\leftarrow$ all extra buildings\\
            $pop$ $\leftarrow$ total population of a region, $R$\\
            $avg_{pop}$ $\leftarrow$ average population of all regions}\vspace*{5px}             
			\changefont{pcr}{\small}
			\STATE \tbf{function} getValue4RegionWorth 
			\FOR {all regions as $R$}
				\STATE $tot$ $\leftarrow$ $P$ + $S$ + $T$ + $E$ + 1;
                \STATE {$error$ $\leftarrow$ $\mid 0.4 - \frac{P}{tot} \mid$ +
					$\mid 0.1 - \frac{S}{tot} \mid$ +\\[2px]
					\hspace{40px} $\mid 0.2 - \frac{T}{tot} \mid$ +
					$\mid 0.3 - \frac{E}{tot} \mid$} 
				\STATE \COMMENT {\mycomment{constant to control the region\rq s worth}}
				\STATE {$const$ $\leftarrow$ 200}
				\STATE \COMMENT {\mycomment{reasonable condition for buildings}}
                \STATE {$ok_{cond}$ $\leftarrow$ 80}
				\STATE \COMMENT {\mycomment{average building condition}}
                \STATE {$avg_{cond} \leftarrow \frac{\sum building\_conditions}{\mid B\mid}$\vspace*{2px}}
                \STATE {$region_{worth}$ = $\frac{pop}{avg_{pop}} * \frac{avg_{cond}}{ok_{cond}} * (1-error) * const $\vspace*{2px}}
			\ENDFOR
			\STATE {\tbf{return} $region_{worth}$}
			\end{algorithmic}
		\end{algorithm}
        \changefont{ppl}{\normalsize}

        The most important behavior of the swarm is that of quality: the citizens will move from one region to another if they are not satisfied or if there is another region in the proximity that will satisfy them even more. The quality model for citizens is shown in pseudo-code in the Algorithm~\ref{algo:regionWorthUpdate} which indicates how the worths of the regions are updated. The rate of satisfaction is defined in the worth of the region -- a high value represents a higher level of satisfaction.

        Citizens can die or get born according to \emph{game of life}-like rules. This causes phenomenons such as under-population in some regions and overcrowding in others. The dynamics of the natality\slash mortality of the population are given by the following rules:
		\begin{itemize}
		\item if the majority of the neighboring regions have a worth larger than the current region, then the population will increase with a random number between \textbf{(0, 100)} 
		\item if more than half of the neighboring regions have a worth smaller than the current region, then the population will decrease with a random number between \textbf{(0, 100)}
		\item else the population of that region will stay unchanged
		\end{itemize}			
		Another form of population movement is a random move: a small number of citizens move randomly to a neighboring region. This random movement ensures that all the regions have the chance of evolving into more economically flourishing ones. This movement also helps avoid having all the citizens moving to a specific region that fulfills all their needs.

        To make sure the citizens will not, all, move to a very satisfying region in the very beginning of the game and to make the end of the game a bit more unpredictable we have introduced a variable \textbf{$\epsilon$}. This variable controls the amount of people that would move from one region to another and it decreases during the game such that in the beginning of the game the probability of having people move to a better region is low and it the end it is closer to 100\%. Thus, \textbf{$\epsilon$} ensures that the probability of having citizen moving is relatively small at the beginning of the game and it becomes higher at the end of the game.      
  
        The behavior causing diversity is that given by the swarm updates indicated in Algorithm~\ref{algo:swarmUpdate}.
        \begin{algorithm}[!hbtp]
			\caption{Update swarm}
			\label{algo:swarmUpdate}
			\begin{algorithmic}[1]
			\changefont{pcr}{\small}
			\medskip
			\REQUIRE{Input variables\\
				\changefont{pcr}{\scriptsize}\vspace*{5px}
				$max_{worth}$ $\leftarrow$ maximum worth\\ 
                $min_{pop}$ $\leftarrow$ minimum population in a cell (=10)\\
                $born_{pop}$ $\leftarrow$ maximum population to be born\\
				$\epsilon$ $\leftarrow$ moving rate 
				\changefont{pcr}{\small}\vspace*{5px}} 
			\STATE \tbf{function} updateSwarm
			\changefont{pcr}{\scriptsize}\vspace*{5px} 
			\FOR {all regions as $R$}
				\STATE \COMMENT {\mycomment{get all the neighboring regions of R}}
                \STATE {$neighbors$ $\leftarrow$ getNeighbors($R$)}
                \STATE {$l_{neigh}$ $\leftarrow$ $\mid$ neighbors with higher worth $\mid$}
                \STATE {$s_{neigh}$ $\leftarrow$ $\mid$ neighbors with smallest worth$\mid$}
				\STATE \COMMENT {\mycomment{get the neighbor with the highest worth}}
                \STATE {$b_{neigh}$ $\leftarrow$ getBestNeighbor($R$)}

				\STATE \COMMENT {\mycomment{compute the worth difference}}
                \STATE {$w_{diff}$ $\leftarrow$ $R[worth] - b_{neigh}[worth]$}
                \FOR {each cell as C of regions $R$}
					\STATE \COMMENT {\mycomment{population to be born\slash die}}
					\STATE {$extra_{pop}$ $\leftarrow$ rand(1, $born_{pop}$)}
					\IF {($l_{neigh} \le s_{neigh}$) and ($s_{neigh} \ge \frac{R[pop]}{2}$)\hspace*{5px}\vspace*{2px}}
						\STATE {$C[pop] \leftarrow C[pop] - extra_{pop}$\vspace*{2px}}
					\ELSIF {($s_{neigh} \le l_{neigh}$) and ($l_{neigh} \ge \frac{R[pop]}{2}$)\vspace*{2px}}
						\STATE {$C[pop] \leftarrow C[pop] + extra_{pop}$\vspace*{2px}} 
					\ENDIF
					\STATE $random$ $\leftarrow$ new random number
                    \IF {$random < \epsilon$}
						\STATE \COMMENT {\mycomment{number of moving individuals}}
                        \STATE {$m_{pop}$ $\leftarrow$ $(C[pop] - min_{pop}) * \frac{w_{diff}}{max_{worth}}$}					
						\STATE \COMMENT {\mycomment{the cell receiving the population}}
                        \STATE {$to_{cell}$ $\leftarrow$ random cell $\in b_{neigh}$}
						\STATE \COMMENT {\mycomment{update population in cell $C$}}
						\STATE {$C[pop]$ $\leftarrow$ $C[pop]$ - $m_{pop}$}
						\STATE \COMMENT {\mycomment{update population in $to_{cell}$}}
                        \STATE {$to_{cell}[pop]$ $\leftarrow$ $to_{cell}[pop]$ + $m_{pop}$}
                   \ENDIF    
                \ENDFOR
			\ENDFOR
            \end{algorithmic}            
        \end{algorithm}                    
        \changefont{ppl}{\normalsize}
%RESULTS SECTION_________________________________________________________________________________________________        
	\section{Results}\label{sec:Results}
		In order to have the game working as desired it is of great importance that the \emph{cellular automaton} -- as defined in earlier sections -- behaves in a flexible way in order to keep the game interesting. Newcomers to a game should be able to compete with people who are in the game for a number of epochs already, and the \emph{cellular automaton} should not directly converge to the best balanced regions without giving the other regions the opportunity to develop economically. 

		The testing of the game was done by creating a few games with multiple players participating and observing the swarm during the plays. Some results of the states of \emph{cellular automaton} in a typical game are shown in Figures ~\ref{fig:swarm_result1} and ~\ref{fig:swarm_result2}.
			\begin{figure}[!hbtp] %divide up the images?
				\centering
				\epsfig{file=img/result_swarm.jpg, width=1\linewidth}
				\caption{A. Initial B. After 100 epochs C. After 200 epochs}
				\label{fig:swarm_result1}
			\end{figure}
			\begin{figure}[!hbtp] %divide up the images?
				\centering
				\epsfig{file=img/result_swarm2.jpg, width=1\linewidth}
				\caption{A. Initial B. After 100 epochs C. After 200 epochs}
				\label{fig:swarm_result2}
			\end{figure}

		Given that there are changes in the population number (people can die or get born), the dynamics of the population can be observed throughout the evolution of the game. Depending on how well balanced the game is and how well developed the regions are the number of people can increase from the beginning of the game or it can decrease. Table~\ref{pop_dynam} shows the dynamics of the population for two games. We can notice from the table that in both cases the population tends to increase although in the second case (for a big game) the population increases at a faster rate.

			\begin{table}[!hbtp]
				\caption{Population dynamics}
				\label{pop_dynam}
 	 			\begin{tabular*}{0.48\textwidth}{ | l | l | m{68px} | }
				\hline
				Game Size & Cycles & Total\\ 
				& & Population\\
				\hline\hline
				\multirow{3}{*}{Small (2 players)} & 0--100 & 696,034\\
				& 100--200 & 689,225\\
				& 200--300 & 682,656\\
				\hline
				\multirow{3}{*}{Big (10 players)} & 0--100 & 702,018\\
				& 100--200 & 716,321\\
				& 200--300 & 728,859\\
				\hline
				\end{tabular*}
			\end{table}
 
		The grid of the \emph{cellular automaton} is initialized with random values between \textbf{0} and \textbf{140}, giving an uniformly distributed population as a start. This initialization ensures an average of \textbf{7,000} citizens within each region and a total of around \textbf{700k} citizens within the city. 

		During the game, the automaton slowly converges to regions where properties are more balanced. After many epochs, the regions with no properties are left almost deserted by the automaton, and the population is mostly concentrating around regions with lots of properties which are balanced. There is a constant shift in the population where the players are competing harder with each other (destroying properties\slash outbalancing the region). With the error estimation for the worth of the region and the random movements it is possible for a newcomer to start building in a cheap region and attract citizens which are passing by. 
%CONCLUSIONS SECTION_________________________________________________________________________________________________        
	\section{Conclusion \& future work}\label{sec:Conclusion}
	A swarm implemented as a \emph{cellular automaton} can be very useful in virtual city-building\slash planning games. They provide a rich variety of behaviors based on only a few simple rules, and give players a wide range of strategies to assert during the game. At the same time, defining rules when using realistic models can give insights of what citizens want in their environment. 

	A current problem in the implementation, however, is that players can grow huge amounts of revenue, thus, having the opportunity to the \lq destructions\rq\@ available in an abusive manner on the properties of the new players. One way to solve this problem is to introduce taxes based on their number of properties which would lower their income and make the game even more balanced.	

	In our project we only use one model that gives only one type of citizen. Expanding the models of the citizens will create more realistic behaviors. These models can be based on different kind of preferences, and can easily be incorporated into the \emph{cellular automaton}. This expansion however will need to treat each citizen (or groups of citizens) independently and will require many more computations during the updates of the games.
%BIBLIOGRAPHY SECTION_________________________________________________________________________________________________        
	\bibliographystyle{alpha}
		\begin{thebibliography}{3}
			\bibitem{Swarm}
				Russell C. Eberhart, Yuhui Shi, James Kennedy:\\
				\tit{Swarm Intelligence, 1st edition (April 9, 2001)}
			\bibitem{SeriousGames}
				Tarja Susi, Mikael Johannesson, Per Backlund:\\
				\tit{Serious Games -- An Overview, February 5, 2007}
			\bibitem{GameTheory}
				Celia Pearce:\\
				\tit{Towards a Game Theory of Game, "Performance, and Game
eds.", MIT Press, 2002}
		\end{thebibliography}
%APPENDIX SECTION_________________________________________________________________________________________________       
\onecolumn
\newpage
\section{Appendix}
The code can be found at: \href{http://code.google.com/p/rule184/}{\emph{Rule184} Repository}
\begin{figure}[!hbtp] %divide up the images?
	\centering
	\epsfig{file=img/screenshot1.jpg, width=0.8\linewidth}
	\caption{Screenshot -- The game map}
\end{figure}
\begin{figure}[!hbtp] %divide up the images?
	\centering
	\epsfig{file=img/screenshot2.jpg, width=0.8\linewidth}
	\caption{Screenshot -- The swarm}
\end{figure}
 
\end{document}
